[FORMAT "WCOFF"]
[INSTRSET "i486p"]
[OPTIMIZE 1]
[OPTION 1]
[BITS 32]
	EXTERN	_memman_alloc_4k
	EXTERN	_memman_free_4k
[FILE "tek.c"]
[SECTION .text]
_tek_getnum_s7s:
	PUSH	EBP
	XOR	ECX,ECX
	MOV	EBP,ESP
	PUSH	EBX
	MOV	EBX,DWORD [8+EBP]
	MOV	EDX,DWORD [EBX]
L2:
	SAL	ECX,7
	MOVZX	EAX,BYTE [EDX]
	OR	ECX,EAX
	INC	EDX
	TEST	ECX,1
	JE	L2
	SHR	ECX,1
	MOV	DWORD [EBX],EDX
	POP	EBX
	MOV	EAX,ECX
	POP	EBP
	RET
[SECTION .data]
_header.0:
	DB	-1
	DB	-1
	DB	-1
	DB	1
	DB	0
	DB	0
	DB	0
	DB	79
	DB	83
	DB	65
	DB	83
	DB	75
	DB	67
	DB	77
	DB	80
[SECTION .text]
	GLOBAL	_tek_getsize
_tek_getsize:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	MOV	EDI,_header.0
	PUSH	EBX
	OR	EBX,-1
	PUSH	EDX
	MOV	EAX,DWORD [8+EBP]
	MOV	DWORD [-16+EBP],EAX
	MOV	ESI,EAX
	CLD
	MOV	EAX,15
	INC	ESI
	MOV	ECX,EAX
	REPE
	CMPSB
	JNE	L7
	MOV	EDX,DWORD [-16+EBP]
	MOV	AL,BYTE [EDX]
	CMP	AL,-125
	JE	L8
	CMP	AL,-123
	JE	L8
	CMP	AL,-119
	JE	L8
L7:
	LEA	ESP,DWORD [-12+EBP]
	MOV	EAX,EBX
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L8:
	MOV	EAX,DWORD [-16+EBP]
	ADD	EAX,16
	MOV	DWORD [8+EBP],EAX
	LEA	EAX,DWORD [8+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7s
	MOV	EBX,EAX
	POP	EAX
	JMP	L7
	GLOBAL	_tek_decomp
_tek_decomp:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	ESI
	PUSH	EBX
	OR	EBX,-1
	MOV	EAX,DWORD [8+EBP]
	MOV	ECX,DWORD [12+EBP]
	MOV	ESI,DWORD [16+EBP]
	MOV	DL,BYTE [EAX]
	CMP	DL,-125
	JE	L17
	CMP	DL,-123
	JE	L18
	CMP	DL,-119
	JE	L19
L11:
	XOR	EAX,EAX
	TEST	EBX,EBX
	SETE	AL
	LEA	ESP,DWORD [-8+EBP]
	DEC	EAX
	POP	EBX
	POP	ESI
	POP	EBP
	RET
L19:
	PUSH	ECX
	PUSH	EAX
	PUSH	ESI
	CALL	_tek_decode5
L16:
	MOV	EBX,EAX
	ADD	ESP,12
	JMP	L11
L18:
	PUSH	ECX
	PUSH	EAX
	PUSH	ESI
	CALL	_tek_decode2
	JMP	L16
L17:
	PUSH	ECX
	PUSH	EAX
	PUSH	ESI
	CALL	_tek_decode1
	JMP	L16
_tek_lzrestore_stk1:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	PUSH	EBX
	SUB	ESP,12
	MOV	ESI,DWORD [20+EBP]
	MOV	EAX,DWORD [16+EBP]
	ADD	EAX,ESI
	MOV	DWORD [-24+EBP],ESI
	MOV	DWORD [-20+EBP],EAX
	MOV	EAX,DWORD [12+EBP]
	MOV	DWORD [-16+EBP],EAX
L21:
	MOV	EAX,DWORD [-16+EBP]
	MOVZX	EDI,BYTE [EAX]
	MOV	EBX,EDI
	INC	EAX
	AND	EBX,15
	MOV	DWORD [-16+EBP],EAX
	JE	L53
L24:
	SAR	EDI,4
	JE	L54
L26:
	MOV	EAX,DWORD [-16+EBP]
	MOV	DL,BYTE [EAX]
	INC	EAX
	MOV	BYTE [ESI],DL
	INC	ESI
	DEC	EBX
	MOV	DWORD [-16+EBP],EAX
	JNE	L26
	CMP	ESI,DWORD [-20+EBP]
	JAE	L22
L31:
	MOV	EAX,DWORD [-16+EBP]
	MOVZX	ECX,BYTE [EAX]
	MOV	EBX,ECX
	INC	EAX
	AND	EBX,15
	MOV	DWORD [-16+EBP],EAX
	TEST	ECX,1
	JNE	L34
L35:
	SAL	EBX,7
	MOV	EAX,DWORD [-16+EBP]
	MOVZX	EDX,BYTE [EAX]
	OR	EBX,EDX
	INC	EAX
	MOV	DWORD [-16+EBP],EAX
	TEST	EBX,1
	JE	L35
L34:
	SAR	EBX,1
	SAR	ECX,4
	NOT	EBX
	JNE	L39
L40:
	SAL	ECX,7
	MOV	EAX,DWORD [-16+EBP]
	MOVZX	EDX,BYTE [EAX]
	OR	ECX,EDX
	INC	EAX
	MOV	DWORD [-16+EBP],EAX
	TEST	ECX,1
	JE	L40
	SAR	ECX,1
L39:
	LEA	EAX,DWORD [EBX+ESI*1]
	INC	ECX
	CMP	EAX,DWORD [-24+EBP]
	JB	L45
	LEA	EAX,DWORD [ECX+ESI*1]
	CMP	EAX,DWORD [-20+EBP]
	JBE	L47
	MOV	ECX,DWORD [-20+EBP]
	SUB	ECX,ESI
L47:
	MOV	AL,BYTE [EBX+ESI*1]
	MOV	BYTE [ESI],AL
	INC	ESI
	DEC	ECX
	JNE	L47
	DEC	EDI
	JNE	L31
	CMP	ESI,DWORD [-20+EBP]
	JB	L21
L22:
	XOR	EAX,EAX
L20:
	LEA	ESP,DWORD [-12+EBP]
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L45:
	MOV	EAX,1
	JMP	L20
L54:
	LEA	EAX,DWORD [-16+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7s
	POP	ECX
	MOV	EDI,EAX
	JMP	L26
L53:
	LEA	EAX,DWORD [-16+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7s
	MOV	EBX,EAX
	POP	EAX
	JMP	L24
_tek_decode1:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	PUSH	EBX
	MOV	EAX,DWORD [12+EBP]
	LEA	ESI,DWORD [12+EBP]
	MOV	EDI,EAX
	PUSH	ESI
	ADD	EAX,16
	ADD	EDI,DWORD [8+EBP]
	MOV	DWORD [12+EBP],EAX
	CALL	_tek_getnum_s7s
	MOV	EBX,EAX
	POP	EAX
	TEST	EBX,EBX
	JLE	L56
	PUSH	ESI
	CALL	_tek_getnum_s7s
	MOV	ECX,EAX
	MOV	EDX,EAX
	SAR	ECX,1
	MOV	EAX,1
	AND	ECX,15
	ADD	ECX,8
	SAL	EAX,CL
	CMP	EBX,EAX
	POP	ECX
	JG	L58
	MOV	EAX,EDX
	AND	EAX,33
	DEC	EAX
	JE	L57
L58:
	MOV	EDX,1
L55:
	LEA	ESP,DWORD [-12+EBP]
	MOV	EAX,EDX
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L57:
	AND	EDX,64
	JNE	L61
L59:
	PUSH	ESI
	CALL	_tek_getnum_s7s
	POP	EDX
	TEST	EAX,EAX
	MOV	EDX,1
	JNE	L55
	PUSH	DWORD [16+EBP]
	PUSH	EBX
	SUB	EDI,DWORD [12+EBP]
	PUSH	DWORD [12+EBP]
	PUSH	EDI
	CALL	_tek_lzrestore_stk1
	MOV	EDX,EAX
	JMP	L55
L61:
	PUSH	ESI
	CALL	_tek_getnum_s7s
	POP	ECX
	JMP	L59
L56:
	XOR	EDX,EDX
	JMP	L55
_tek_getnum_s7:
	PUSH	EBP
	XOR	ECX,ECX
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	XOR	ESI,ESI
	MOV	EDI,DWORD [8+EBP]
	PUSH	EBX
	MOV	EBX,1
	MOV	EDX,DWORD [EDI]
L63:
	SAL	ECX,7
	MOVZX	EAX,BYTE [EDX]
	OR	ECX,EAX
	INC	EDX
	TEST	ECX,1
	JNE	L64
	SAL	EBX,7
	ADD	ESI,EBX
	JMP	L63
L64:
	SHR	ECX,1
	MOV	DWORD [EDI],EDX
	POP	EBX
	LEA	EAX,DWORD [ESI+ECX*1]
	POP	ESI
	POP	EDI
	POP	EBP
	RET
_tek_lzrestore_stk2:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	PUSH	EBX
	SUB	ESP,36
	MOV	EDX,DWORD [16+EBP]
	MOV	EAX,DWORD [20+EBP]
	ADD	EAX,EDX
	MOV	ECX,DWORD [20+EBP]
	MOV	DWORD [-40+EBP],EAX
	MOV	DWORD [-44+EBP],ECX
	MOV	EAX,DWORD [12+EBP]
	MOV	DWORD [-32+EBP],EAX
	MOV	DWORD [-36+EBP],0
L72:
	MOV	ECX,DWORD [-36+EBP]
	MOV	EAX,DWORD [-36+EBP]
	NOT	EAX
	MOV	DWORD [-28+EBP+ECX*4],EAX
	INC	ECX
	MOV	DWORD [-36+EBP],ECX
	CMP	ECX,3
	JLE	L72
	MOV	BYTE [-46+EBP],0
	MOV	BYTE [-45+EBP],0
	TEST	EDX,EDX
	JNE	L117
L73:
	XOR	EDX,EDX
L67:
	LEA	ESP,DWORD [-12+EBP]
	MOV	EAX,EDX
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L117:
	LEA	EAX,DWORD [-32+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7s
	MOV	EDX,1
	POP	ECX
	TEST	EAX,EAX
	JNE	L67
L75:
	MOV	DWORD [-36+EBP],0
L78:
	INC	DWORD [-36+EBP]
	CMP	DWORD [-36+EBP],16
	JG	L118
	CMP	BYTE [-46+EBP],0
	JNE	L82
	MOV	EAX,DWORD [-32+EBP]
	MOV	BYTE [-46+EBP],8
	MOV	DL,BYTE [EAX]
	INC	EAX
	MOV	BYTE [-45+EBP],DL
	MOV	DWORD [-32+EBP],EAX
L82:
	MOV	AL,BYTE [-45+EBP]
	DEC	BYTE [-46+EBP]
	AND	EAX,1
	SHR	BYTE [-45+EBP],1
	AND	EAX,1
	JE	L78
L84:
	MOV	EAX,DWORD [-32+EBP]
	MOV	ECX,DWORD [20+EBP]
	MOV	DL,BYTE [EAX]
	INC	EAX
	MOV	BYTE [ECX],DL
	INC	ECX
	DEC	DWORD [-36+EBP]
	MOV	DWORD [-32+EBP],EAX
	MOV	DWORD [20+EBP],ECX
	JNE	L84
	MOV	EAX,DWORD [-40+EBP]
	CMP	ECX,EAX
	JAE	L73
L89:
	INC	DWORD [-36+EBP]
	CMP	DWORD [-36+EBP],16
	JG	L119
	CMP	BYTE [-46+EBP],0
	JNE	L93
	MOV	EAX,DWORD [-32+EBP]
	MOV	BYTE [-46+EBP],8
	MOV	DL,BYTE [EAX]
	INC	EAX
	MOV	BYTE [-45+EBP],DL
	MOV	DWORD [-32+EBP],EAX
L93:
	MOV	AL,BYTE [-45+EBP]
	DEC	BYTE [-46+EBP]
	AND	EAX,1
	SHR	BYTE [-45+EBP],1
	AND	EAX,1
	JE	L89
L95:
	MOV	EAX,DWORD [-32+EBP]
	MOVZX	EBX,BYTE [EAX]
	MOV	EDI,EBX
	INC	EAX
	SAR	EDI,4
	AND	EBX,15
	MOV	DWORD [-32+EBP],EAX
	TEST	EBX,1
	JE	L120
L98:
	SAR	EBX,1
	CMP	EBX,3
	LEA	ESI,DWORD [-6+EBX]
	NOT	ESI
	JG	L99
	MOV	ESI,DWORD [-28+EBP+EBX*4]
L99:
	CMP	EBX,4
	JE	L121
L100:
	CMP	EBX,5
	JE	L122
L101:
	TEST	EDI,EDI
	JE	L123
L102:
	INC	EDI
	TEST	EBX,EBX
	JLE	L103
	CMP	EBX,1
	JLE	L104
	CMP	EBX,2
	JLE	L105
	MOV	EAX,DWORD [-20+EBP]
	MOV	DWORD [-16+EBP],EAX
L105:
	MOV	EAX,DWORD [-24+EBP]
	MOV	DWORD [-20+EBP],EAX
L104:
	MOV	EAX,DWORD [-28+EBP]
	MOV	DWORD [-28+EBP],ESI
	MOV	DWORD [-24+EBP],EAX
L103:
	MOV	EAX,DWORD [20+EBP]
	ADD	EAX,ESI
	CMP	EAX,DWORD [-44+EBP]
	JB	L107
	MOV	EAX,DWORD [20+EBP]
	ADD	EAX,EDI
	CMP	EAX,DWORD [-40+EBP]
	JBE	L109
	MOV	EDI,DWORD [-40+EBP]
	SUB	EDI,DWORD [20+EBP]
L109:
	MOV	ECX,DWORD [20+EBP]
	MOV	AL,BYTE [ESI+ECX*1]
	MOV	BYTE [ECX],AL
	INC	ECX
	DEC	EDI
	MOV	DWORD [20+EBP],ECX
	JNE	L109
	DEC	DWORD [-36+EBP]
	JNE	L95
	MOV	EAX,DWORD [-40+EBP]
	CMP	ECX,EAX
	JB	L75
	JMP	L73
L107:
	MOV	EDX,1
	JMP	L67
L123:
	LEA	EAX,DWORD [-32+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7
	LEA	EDI,DWORD [16+EAX]
	POP	EAX
	JMP	L102
L122:
	LEA	EAX,DWORD [-32+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7
	ADD	EAX,DWORD [-28+EBP]
	LEA	ESI,DWORD [1+EAX]
	POP	EAX
	JMP	L101
L121:
	LEA	EAX,DWORD [-32+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7
	MOV	ESI,EAX
	POP	EAX
	NOT	ESI
	ADD	ESI,DWORD [-28+EBP]
	JMP	L100
L120:
	LEA	EAX,DWORD [-32+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7
	INC	EAX
	SAL	EAX,4
	OR	EBX,EAX
	POP	EAX
	JMP	L98
L119:
	LEA	EAX,DWORD [-32+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7s
	ADD	DWORD [-36+EBP],EAX
	POP	EAX
	JMP	L95
L118:
	LEA	EAX,DWORD [-32+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7s
	POP	EDX
	ADD	DWORD [-36+EBP],EAX
	JMP	L84
_tek_decode2:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	PUSH	EBX
	LEA	EDI,DWORD [12+EBP]
	PUSH	EAX
	MOV	EAX,DWORD [12+EBP]
	PUSH	EDI
	MOV	ESI,EAX
	ADD	EAX,16
	ADD	ESI,DWORD [8+EBP]
	MOV	DWORD [12+EBP],EAX
	MOV	DWORD [-16+EBP],0
	CALL	_tek_getnum_s7s
	MOV	EBX,EAX
	POP	EAX
	TEST	EBX,EBX
	JLE	L125
	PUSH	EDI
	CALL	_tek_getnum_s7s
	MOV	ECX,EAX
	MOV	EDX,EAX
	SAR	ECX,1
	MOV	EAX,1
	AND	ECX,15
	ADD	ECX,8
	SAL	EAX,CL
	CMP	EBX,EAX
	POP	ECX
	JG	L127
	MOV	EAX,EDX
	AND	EAX,33
	DEC	EAX
	JE	L126
L127:
	MOV	EAX,1
L124:
	LEA	ESP,DWORD [-12+EBP]
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L126:
	AND	EDX,64
	JNE	L129
L128:
	PUSH	DWORD [16+EBP]
	PUSH	EBX
	SUB	ESI,DWORD [12+EBP]
	PUSH	DWORD [12+EBP]
	PUSH	ESI
	CALL	_tek_lzrestore_stk2
	ADD	ESP,16
	MOV	DWORD [-16+EBP],EAX
L125:
	MOV	EAX,DWORD [-16+EBP]
	JMP	L124
L129:
	PUSH	EDI
	CALL	_tek_getnum_s7s
	POP	EDI
	JMP	L128
[SECTION .data]
_prop0_table.1:
	DB	93
	DB	0
_prop1_table.2:
	DB	0
[SECTION .text]
_tek_lzrestore_tek5:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	PUSH	EBX
	SUB	ESP,16
	MOV	EBX,DWORD [12+EBP]
	MOVZX	ECX,BYTE [EBX]
	MOV	EAX,ECX
	AND	EAX,15
	MOV	DWORD [-24+EBP],-1
	CMP	EAX,1
	JE	L132
	MOV	DWORD [-24+EBP],-2
	CMP	EAX,5
	JE	L132
	MOV	DWORD [-24+EBP],0
	CMP	EAX,9
	JE	L132
	MOV	EAX,1
L130:
	LEA	ESP,DWORD [-12+EBP]
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L132:
	INC	EBX
	SAR	ECX,4
	JNE	L137
	MOVZX	ECX,BYTE [EBX]
	INC	EBX
L138:
	MOV	EAX,ECX
	MOV	ESI,45
	CDQ
	IDIV	ESI
	MOV	DWORD [-16+EBP],EAX
	MOV	ESI,9
	MOV	EAX,EDX
	CDQ
	IDIV	ESI
	CMP	DWORD [-24+EBP],0
	MOV	DWORD [-28+EBP],EDX
	MOV	DWORD [-20+EBP],EAX
	JNE	L143
	MOVZX	EAX,BYTE [EBX]
	MOV	DWORD [-24+EBP],EAX
	INC	EBX
L143:
	CMP	DWORD [-24+EBP],-1
	JE	L146
L144:
	MOV	ECX,DWORD [-28+EBP]
	MOV	EAX,3072
	ADD	ECX,DWORD [-16+EBP]
	SAL	EAX,CL
	LEA	EDI,DWORD [9984+EAX]
	PUSH	EDI
	PUSH	3932160
	CALL	_memman_alloc_4k
	MOV	ESI,EAX
	POP	EAX
	POP	EDX
	OR	EAX,-1
	TEST	ESI,ESI
	JE	L130
	PUSH	DWORD [-24+EBP]
	PUSH	DWORD [-16+EBP]
	PUSH	DWORD [-20+EBP]
	PUSH	DWORD [-28+EBP]
	PUSH	DWORD [20+EBP]
	PUSH	DWORD [16+EBP]
	PUSH	EBX
	PUSH	ESI
	CALL	_tek_decmain5
	ADD	ESP,32
	PUSH	EDI
	MOV	DWORD [-24+EBP],EAX
	PUSH	ESI
	PUSH	3932160
	CALL	_memman_free_4k
	MOV	EAX,DWORD [-24+EBP]
	JMP	L130
L146:
	MOV	EDI,DWORD [-16+EBP]
	MOV	EDX,DWORD [-20+EBP]
	MOV	DWORD [-16+EBP],EDX
	MOV	DWORD [-20+EBP],EDI
	JMP	L144
L137:
	CMP	DWORD [-24+EBP],-1
	JE	L147
	MOV	EAX,1
	CMP	ECX,1
	JG	L130
	MOVZX	ECX,BYTE [_prop1_table.2-1+ECX]
	JMP	L138
L147:
	MOV	EAX,1
	CMP	ECX,2
	JG	L130
	MOVZX	ECX,BYTE [_prop0_table.1-1+ECX]
	JMP	L138
_tek_setbm5:
	PUSH	EBP
	OR	EAX,-1
	MOV	EBP,ESP
	MOV	EDX,1
	PUSH	EDI
	MOV	EDI,EAX
	PUSH	ESI
	MOV	ECX,DWORD [16+EBP]
	MOV	ESI,DWORD [8+EBP]
	PUSH	EBX
	MOV	EBX,DWORD [12+EBP]
	MOV	BYTE [1+ESI],CL
	MOV	BYTE [ESI],BL
	ADD	ECX,EBX
	SAL	EDI,CL
	MOV	CL,BL
	SAL	EDX,CL
	SAL	EAX,CL
	AND	EAX,65535
	OR	EDX,EDI
	NOT	EDI
	MOV	DWORD [12+ESI],EAX
	AND	EDI,EAX
	AND	EDX,EAX
	MOV	DWORD [4+ESI],EDI
	NOT	EAX
	MOV	DWORD [8+ESI],EDX
	MOV	DWORD [16+ESI],EAX
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
_tek_rdget0:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	PUSH	EBX
	MOV	EDI,DWORD [8+EBP]
	MOV	ESI,DWORD [16+EBP]
L150:
	MOV	EAX,DWORD [4+EDI]
	CMP	EAX,16777215
	JA	L160
L156:
	MOV	EBX,EAX
	MOV	ECX,DWORD [8+EDI]
	SAL	EBX,8
	MOV	EAX,DWORD [EDI]
	SAL	ECX,8
	MOV	DWORD [4+EDI],EBX
	MOVZX	EDX,BYTE [EAX]
	OR	ECX,EDX
	INC	EAX
	MOV	DWORD [EDI],EAX
	MOV	DWORD [8+EDI],ECX
	MOV	EAX,EBX
	CMP	EBX,16777215
	JBE	L156
L160:
	MOV	EDX,DWORD [4+EDI]
	MOV	EAX,DWORD [8+EDI]
	SHR	EDX,1
	ADD	ESI,ESI
	MOV	DWORD [4+EDI],EDX
	CMP	EAX,EDX
	JB	L152
	SUB	EAX,EDX
	OR	ESI,1
	MOV	DWORD [8+EDI],EAX
L152:
	DEC	DWORD [12+EBP]
	JNE	L150
	NOT	ESI
	POP	EBX
	MOV	EAX,ESI
	POP	ESI
	POP	EDI
	POP	EBP
	RET
_tek_rdget1:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	PUSH	EBX
	SUB	ESP,20
	MOV	EAX,DWORD [16+EBP]
	MOV	EDI,DWORD [24+EBP]
	SAR	EAX,4
	MOV	DWORD [-24+EBP],EAX
	MOV	EAX,DWORD [20+EBP]
	SAL	EAX,2
	AND	DWORD [16+EBP],15
	SUB	DWORD [12+EBP],EAX
L162:
	MOV	EAX,DWORD [12+EBP]
	MOV	EDX,DWORD [20+EBP]
	LEA	EDX,DWORD [EAX+EDX*4]
	MOV	DWORD [-20+EBP],EDX
	MOV	EAX,DWORD [EDX]
	MOV	DWORD [-16+EBP],EAX
	MOV	EAX,DWORD [20+EDI]
	TEST	EAX,EAX
	JE	L165
	DEC	EAX
	MOV	DWORD [20+EDI],EAX
	TEST	EAX,EAX
	JE	L187
L166:
	MOV	EAX,DWORD [4+EDI]
	CMP	DWORD [-16+EBP],EAX
	JB	L186
	MOV	EAX,DWORD [8+EDI]
	CMP	DWORD [-16+EBP],EAX
	JBE	L174
L186:
	MOV	DWORD [-16+EBP],EAX
L173:
	MOV	EDX,DWORD [-20+EBP]
	MOV	EAX,DWORD [-16+EBP]
	MOV	DWORD [EDX],EAX
L165:
	MOV	EDX,DWORD [8+EBP]
	MOV	EAX,DWORD [4+EDX]
	CMP	EAX,16777215
	JA	L185
L179:
	MOV	EBX,EAX
	MOV	EAX,DWORD [8+EBP]
	SAL	EBX,8
	MOV	ECX,DWORD [8+EAX]
	MOV	DWORD [4+EAX],EBX
	SAL	ECX,8
	MOV	EAX,DWORD [EAX]
	MOVZX	EDX,BYTE [EAX]
	OR	ECX,EDX
	INC	EAX
	MOV	EDX,DWORD [8+EBP]
	CMP	EBX,16777215
	MOV	DWORD [EDX],EAX
	MOV	DWORD [8+EDX],ECX
	MOV	EAX,EBX
	JBE	L179
L185:
	MOV	EAX,DWORD [8+EBP]
	SAL	DWORD [20+EBP],1
	MOV	ESI,DWORD [4+EAX]
	MOV	ECX,ESI
	AND	ECX,DWORD [12+EAX]
	MOV	EAX,DWORD [-16+EBP]
	MUL	ECX
	SHRD	EAX,EDX,16
	SHR	EDX,16
	MOV	DWORD [-32+EBP],EAX
	MOV	DWORD [-28+EBP],EDX
	MOV	EBX,EAX
	MOV	EDX,DWORD [8+EBP]
	MOV	ECX,DWORD [8+EDX]
	CMP	ECX,EAX
	JAE	L180
	MOV	EAX,DWORD [-32+EBP]
	OR	DWORD [20+EBP],1
	MOV	DWORD [4+EDX],EAX
	MOV	EDX,DWORD [-20+EBP]
	MOV	EAX,65536
	SUB	EAX,DWORD [-16+EBP]
	MOVZX	ECX,BYTE [1+EDI]
	SHR	EAX,CL
	AND	EAX,DWORD [12+EDI]
	ADD	DWORD [EDX],EAX
L181:
	MOV	EAX,DWORD [-24+EBP]
	DEC	DWORD [16+EBP]
	TEST	DWORD [16+EBP],EAX
	JNE	L164
	ADD	EDI,32
L164:
	CMP	DWORD [16+EBP],0
	JNE	L162
	MOV	EAX,DWORD [20+EBP]
	LEA	ESP,DWORD [-12+EBP]
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L180:
	SUB	ESI,EAX
	SUB	ECX,EBX
	MOV	EAX,DWORD [8+EBP]
	MOV	DWORD [4+EAX],ESI
	MOV	DWORD [8+EAX],ECX
	MOVZX	ECX,BYTE [1+EDI]
	SHR	DWORD [-16+EBP],CL
	MOV	EDX,DWORD [12+EDI]
	MOV	EAX,DWORD [-20+EBP]
	AND	DWORD [-16+EBP],EDX
	MOV	EDX,DWORD [-16+EBP]
	SUB	DWORD [EAX],EDX
	JMP	L181
L174:
	MOV	EAX,DWORD [-16+EBP]
	AND	EAX,DWORD [16+EDI]
	TEST	EAX,EAX
	JE	L165
	MOV	EAX,DWORD [12+EDI]
	AND	DWORD [-16+EBP],EAX
	JMP	L173
L187:
	MOV	EAX,DWORD [8+EBP]
	ADD	EAX,124
	PUSH	EAX
	PUSH	0
	PUSH	113
	MOV	EAX,DWORD [8+EBP]
	ADD	EAX,9368
	PUSH	EAX
	PUSH	DWORD [8+EBP]
	CALL	_tek_rdget1
	ADD	ESP,20
	TEST	EAX,EAX
	JE	L169
	MOV	EDX,DWORD [8+EBP]
	MOV	EAX,EDI
	ADD	EDX,60
	SUB	EAX,DWORD [8+EBP]
	PUSH	EDX
	PUSH	0
	SUB	EAX,28
	SAR	EAX,5
	PUSH	113
	MOVZX	EDX,BYTE [2+EDI]
	LEA	EAX,DWORD [EDX+EAX*2]
	MOV	EDX,DWORD [8+EBP]
	LEA	EAX,DWORD [8984+EDX+EAX*4]
	PUSH	EAX
	PUSH	EDX
	CALL	_tek_rdget1
	ADD	ESP,20
	TEST	AL,AL
	MOV	BYTE [2+EDI],AL
	JE	L188
L170:
	MOV	EAX,DWORD [24+EDI]
	MOV	DWORD [20+EDI],EAX
	JMP	L166
L188:
	MOV	ESI,DWORD [8+EBP]
	ADD	ESI,92
	PUSH	ESI
	PUSH	1
	PUSH	116
	MOV	EAX,DWORD [8+EBP]
	ADD	EAX,9240
	PUSH	EAX
	PUSH	DWORD [8+EBP]
	CALL	_tek_rdget1
	ADD	ESP,20
	MOV	EBX,EAX
	AND	EBX,15
	CMP	EBX,15
	JE	L169
	PUSH	ESI
	PUSH	1
	PUSH	116
	MOV	EAX,DWORD [8+EBP]
	ADD	EAX,9304
	PUSH	EAX
	PUSH	DWORD [8+EBP]
	CALL	_tek_rdget1
	ADD	ESP,20
	DEC	EAX
	AND	EAX,15
	INC	EAX
	PUSH	EAX
	PUSH	EBX
	PUSH	EDI
	CALL	_tek_setbm5
	ADD	ESP,12
	JMP	L170
L169:
	MOV	EAX,DWORD [8+EBP]
	MOV	EDX,DWORD [8+EBP]
	ADD	EAX,16
	MOV	EBP,DWORD [16+EDX]
	MOV	ESP,DWORD [8+EAX]
	JMP	DWORD [4+EAX]
_tek_revbit:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EBX
	XOR	EBX,EBX
	MOV	ECX,DWORD [8+EBP]
	MOV	EDX,DWORD [12+EBP]
L190:
	MOV	EAX,ECX
	SHR	ECX,1
	AND	EAX,1
	DEC	EDX
	LEA	EBX,DWORD [EAX+EBX*2]
	JNE	L190
	MOV	EAX,EBX
	POP	EBX
	POP	EBP
	RET
_tek_getlen5:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	PUSH	EBX
	MOV	ESI,DWORD [12+EBP]
	MOV	EBX,DWORD [8+EBP]
	PUSH	DWORD [1064+EBX]
	LEA	EDI,DWORD [EBX+ESI*8]
	PUSH	0
	PUSH	113
	LEA	EAX,DWORD [4892+EDI]
	PUSH	EAX
	PUSH	EBX
	CALL	_tek_rdget1
	ADD	ESP,20
	CMP	EAX,DWORD [20+EBP]
	JE	L195
	IMUL	EAX,DWORD [16+EBP],7
	ADD	EAX,ESI
	PUSH	DWORD [1068+EBX]
	SAL	EAX,5
	PUSH	1
	PUSH	115
	LEA	EAX,DWORD [1212+EBX+EAX*1]
	PUSH	EAX
	PUSH	EBX
	CALL	_tek_rdget1
	MOV	EDX,EAX
	AND	EDX,7
L202:
	ADD	ESP,20
L196:
	LEA	ESP,DWORD [-12+EBP]
	MOV	EAX,EDX
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L195:
	PUSH	DWORD [1064+EBX]
	PUSH	0
	LEA	EAX,DWORD [4896+EDI]
	PUSH	113
	PUSH	EAX
	PUSH	EBX
	CALL	_tek_rdget1
	ADD	ESP,20
	CMP	EAX,DWORD [20+EBP]
	JE	L197
	IMUL	EAX,DWORD [16+EBP],7
	ADD	EAX,ESI
	PUSH	DWORD [1072+EBX]
	SAL	EAX,5
	PUSH	1
	PUSH	115
	LEA	EAX,DWORD [1276+EBX+EAX*1]
	PUSH	EAX
	PUSH	EBX
	CALL	_tek_rdget1
	MOV	EDX,EAX
	JMP	L202
L197:
	PUSH	DWORD [1076+EBX]
	SAL	ESI,10
	PUSH	1
	PUSH	120
	LEA	EAX,DWORD [4908+ESI+EBX*1]
	PUSH	EAX
	PUSH	EBX
	CALL	_tek_rdget1
	ADD	ESP,20
	LEA	EDX,DWORD [-504+EAX]
	TEST	EDX,EDX
	JLE	L199
	CMP	EDX,5
	JG	L200
	CMP	DWORD [20+EBP],0
	JE	L203
L200:
	PUSH	-2
	PUSH	EDX
	PUSH	EBX
	CALL	_tek_rdget0
	ADD	ESP,12
	LEA	EDX,DWORD [-1+EAX]
L201:
	PUSH	-2
	PUSH	EDX
	PUSH	EBX
	CALL	_tek_rdget0
	ADD	ESP,12
	LEA	EDX,DWORD [-1+EAX]
L199:
	ADD	EDX,264
	JMP	L196
L203:
	PUSH	DWORD [1080+EBX]
	MOV	EAX,EDX
	PUSH	1
	OR	EAX,112
	MOV	CL,DL
	PUSH	EAX
	MOV	EAX,4
	SAL	EAX,CL
	LEA	EAX,DWORD [8724+EAX+EBX*1]
	PUSH	EAX
	PUSH	EBX
	CALL	_tek_rdget1
	ADD	ESP,20
	LEA	EDX,DWORD [-1+EAX]
	JMP	L201
[SECTION .data]
_state_table.3:
	DD	0
	DD	0
	DD	0
	DD	0
	DD	1
	DD	2
	DD	3
	DD	4
	DD	5
	DD	6
	DD	4
	DD	5
_pt1.4:
	DB	8
	DB	8
	DB	8
	DB	8
	DB	8
	DB	8
	DB	8
	DB	8
	DB	8
	DB	8
	DB	18
	DB	18
	DB	18
	DB	8
_pt2.5:
	DB	8
	DB	8
	DB	10
	DB	11
	DB	12
	DB	12
	DB	14
	DB	15
	DB	16
	DB	16
	DB	18
	DB	18
	DB	20
	DB	21
[SECTION .text]
_tek_decmain5:
	PUSH	EBP
	MOV	EAX,1
	MOV	EBP,ESP
	MOV	EDX,EAX
	PUSH	EDI
	PUSH	ESI
	PUSH	EBX
	SUB	ESP,116
	MOV	ECX,DWORD [28+EBP]
	MOV	EBX,DWORD [12+EBP]
	SAL	EDX,CL
	MOV	ECX,EDX
	MOV	EDX,DWORD [8+EBP]
	DEC	ECX
	MOV	DWORD [-100+EBP],EDX
	MOV	DWORD [-72+EBP],ECX
	MOV	CL,BYTE [32+EBP]
	SAL	EAX,CL
	DEC	EAX
	MOV	ECX,DWORD [-100+EBP]
	MOV	DWORD [-76+EBP],EAX
	XOR	EAX,EAX
	CMP	DWORD [36+EBP],-1
	SETE	AL
	MOV	DWORD [-80+EBP],EAX
	ADD	EDX,1116
	MOV	DWORD [-84+EBP],8
	MOV	EAX,DWORD [24+EBP]
	MOV	DWORD [-104+EBP],EDX
	SUB	DWORD [-84+EBP],EAX
	LEA	EAX,DWORD [4+EBX]
	MOV	DWORD [ECX],EAX
	MOV	DWORD [-92+EBP],120
	MOV	DWORD [4+ECX],-1
	MOVZX	EDX,BYTE [EBX]
	MOVZX	EAX,BYTE [1+EBX]
	SAL	EAX,16
	SAL	EDX,24
	OR	EDX,EAX
	MOVZX	EAX,BYTE [2+EBX]
	SAL	EAX,8
	OR	EDX,EAX
	MOVZX	EAX,BYTE [3+EBX]
	OR	EDX,EAX
	MOV	DWORD [8+ECX],EDX
	MOV	DWORD [-48+EBP],0
L209:
	MOV	EDX,DWORD [-48+EBP]
	MOV	EAX,DWORD [-48+EBP]
	NOT	EAX
	MOV	DWORD [-28+EBP+EDX*4],EAX
	INC	EDX
	MOV	DWORD [-48+EBP],EDX
	CMP	EDX,3
	JLE	L209
	MOV	EAX,DWORD [-100+EBP]
	MOV	ECX,DWORD [-100+EBP]
	ADD	EAX,16
	LEA	EDX,DWORD [-12+EBP]
	MOV	DWORD [16+ECX],EDX
	MOV	DWORD [4+EAX],L211
	MOV	DWORD [8+EAX],ESP
	XOR	EAX,EAX
L212:
	TEST	EAX,EAX
	JNE	L213
	MOV	ECX,DWORD [24+EBP]
	MOV	EAX,768
	ADD	ECX,DWORD [32+EBP]
	SAL	EAX,CL
	ADD	EAX,2063
	MOV	DWORD [-48+EBP],EAX
	JS	L330
L218:
	MOV	ECX,DWORD [-48+EBP]
	MOV	EAX,DWORD [-104+EBP]
	MOV	DWORD [EAX+ECX*4],32768
	DEC	ECX
	MOV	DWORD [-48+EBP],ECX
	JNS	L218
L330:
	MOV	DWORD [-48+EBP],0
	MOV	EDX,DWORD [-100+EBP]
L225:
	XOR	EAX,EAX
	CMP	DWORD [-48+EBP],3
	SETG	AL
	MOV	DWORD [48+EDX],EAX
	MOV	EAX,16384
	CMP	DWORD [-48+EBP],23
	JLE	L224
	MOV	EAX,8192
L224:
	MOV	BYTE [30+EDX],0
	MOV	BYTE [29+EDX],5
	MOV	BYTE [28+EDX],5
	INC	DWORD [-48+EBP]
	MOV	DWORD [52+EDX],EAX
	ADD	EDX,32
	CMP	DWORD [-48+EBP],31
	JLE	L225
	MOV	ECX,DWORD [24+EBP]
	MOV	EAX,1024
	ADD	ECX,DWORD [32+EBP]
	MOV	EDX,DWORD [-104+EBP]
	SAL	EAX,CL
	CMP	DWORD [-80+EBP],0
	LEA	EAX,DWORD [8248+EAX+EDX*1]
	MOV	DWORD [-96+EBP],EAX
	JE	L226
	MOV	ECX,DWORD [-100+EBP]
	MOV	EAX,ECX
	MOV	DWORD [12+ECX],-2048
	ADD	EAX,48
	MOV	DWORD [-48+EBP],31
L231:
	MOV	DWORD [EAX],0
	ADD	EAX,32
	DEC	DWORD [-48+EBP]
	JNS	L231
	MOV	DWORD [-48+EBP],0
L236:
	MOV	EDX,DWORD [-48+EBP]
	MOV	EAX,DWORD [-100+EBP]
	MOV	ECX,DWORD [-100+EBP]
	ADD	EAX,28
	MOV	DWORD [1052+ECX+EDX*4],EAX
	INC	EDX
	MOV	DWORD [-48+EBP],EDX
	CMP	EDX,13
	JLE	L236
L237:
	MOV	EAX,DWORD [-100+EBP]
	MOV	DWORD [-128+EBP],EAX
	MOV	DWORD [-48+EBP],31
L268:
	MOV	EDX,DWORD [-128+EBP]
	MOVZX	EAX,BYTE [29+EDX]
	PUSH	EAX
	MOVZX	EAX,BYTE [28+EDX]
	PUSH	EAX
	MOV	EAX,EDX
	ADD	EAX,28
	PUSH	EAX
	CALL	_tek_setbm5
	ADD	ESP,12
	ADD	DWORD [-128+EBP],32
	DEC	DWORD [-48+EBP]
	JNS	L268
	MOV	ECX,DWORD [-100+EBP]
	PUSH	DWORD [1052+ECX]
	PUSH	0
	PUSH	113
	PUSH	DWORD [-104+EBP]
	PUSH	ECX
	CALL	_tek_rdget1
	ADD	ESP,20
	CMP	EAX,DWORD [-80+EBP]
	JE	L213
	MOV	EAX,DWORD [20+EBP]
	INC	DWORD [20+EBP]
	MOV	DWORD [-108+EBP],EAX
	MOV	EAX,DWORD [-100+EBP]
	ADD	EAX,796
	PUSH	EAX
	MOV	EAX,DWORD [-104+EBP]
	PUSH	1
	ADD	EAX,8256
	PUSH	DWORD [-92+EBP]
	PUSH	EAX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget1
	MOV	EDX,DWORD [-108+EBP]
	ADD	ESP,20
	MOV	BYTE [EDX],AL
	MOV	ECX,DWORD [16+EBP]
	MOV	DWORD [-68+EBP],1
	MOV	DWORD [-60+EBP],0
	MOV	DWORD [-64+EBP],0
	CMP	DWORD [-68+EBP],ECX
	JGE	L343
L326:
	MOV	EAX,DWORD [-68+EBP]
	MOV	EDX,DWORD [-100+EBP]
	AND	EAX,DWORD [-72+EBP]
	MOV	ECX,DWORD [-104+EBP]
	MOV	DWORD [-88+EBP],EAX
	XOR	EAX,EAX
	CMP	DWORD [-64+EBP],0
	SETG	AL
	PUSH	DWORD [1052+EDX+EAX*4]
	IMUL	EAX,DWORD [-88+EBP],28
	ADD	EAX,DWORD [-64+EBP]
	PUSH	0
	PUSH	113
	LEA	EAX,DWORD [ECX+EAX*8]
	PUSH	EAX
	MOV	DWORD [-112+EBP],EAX
	PUSH	EDX
	CALL	_tek_rdget1
	ADD	ESP,20
	CMP	EAX,DWORD [-80+EBP]
	JE	L273
	MOV	EAX,DWORD [20+EBP]
	MOV	CL,BYTE [-84+EBP]
	MOVZX	EDX,BYTE [-1+EAX]
	MOV	EAX,DWORD [-68+EBP]
	AND	EAX,DWORD [-76+EBP]
	SAR	EDX,CL
	MOV	CL,BYTE [24+EBP]
	SAL	EAX,CL
	OR	EDX,EAX
	MOV	ECX,DWORD [-64+EBP]
	MOV	EAX,EDX
	SAL	EAX,8
	MOV	ECX,DWORD [_state_table.3+ECX*4]
	MOV	DWORD [-48+EBP],EAX
	MOV	DWORD [-64+EBP],ECX
	CMP	DWORD [-60+EBP],0
	JE	L349
	MOV	EAX,DWORD [-100+EBP]
	MOV	EDX,DWORD [20+EBP]
	ADD	EAX,796
	MOV	DWORD [-116+EBP],EAX
	MOV	EAX,DWORD [-28+EBP]
	MOV	DWORD [-52+EBP],1
	MOV	DWORD [-56+EBP],8
	MOVZX	EAX,BYTE [EAX+EDX*1]
	MOV	DWORD [-60+EBP],EAX
L280:
	MOV	EAX,DWORD [-48+EBP]
	MOV	ECX,DWORD [-100+EBP]
	ADD	EAX,DWORD [-52+EBP]
	MOV	EDX,DWORD [-60+EBP]
	SAR	EDX,7
	ADD	EAX,EAX
	MOV	DWORD [-120+EBP],EDX
	PUSH	DWORD [1060+ECX]
	OR	EAX,EDX
	MOV	ECX,DWORD [-96+EBP]
	PUSH	0
	PUSH	113
	LEA	EAX,DWORD [ECX+EAX*4]
	PUSH	EAX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget1
	MOV	EDX,DWORD [-52+EBP]
	DEC	DWORD [-56+EBP]
	ADD	ESP,20
	LEA	EAX,DWORD [EAX+EDX*2]
	MOV	DWORD [-52+EBP],EAX
	MOV	EAX,DWORD [-92+EBP]
	SAR	EAX,4
	TEST	DWORD [-56+EBP],EAX
	JNE	L283
	ADD	DWORD [-116+EBP],32
L283:
	MOV	ECX,DWORD [-52+EBP]
	XOR	DWORD [-120+EBP],ECX
	TEST	DWORD [-120+EBP],1
	JE	L284
	CMP	DWORD [-56+EBP],0
	JNE	L344
L284:
	SAL	DWORD [-60+EBP],1
	CMP	DWORD [-56+EBP],0
	JNE	L280
L281:
	MOV	EDX,DWORD [20+EBP]
	MOV	AL,BYTE [-52+EBP]
	MOV	BYTE [EDX],AL
	MOV	DWORD [-60+EBP],0
L279:
	INC	DWORD [-68+EBP]
	INC	DWORD [20+EBP]
L270:
	MOV	ECX,DWORD [16+EBP]
	CMP	DWORD [-68+EBP],ECX
	JL	L326
L343:
	XOR	EAX,EAX
L204:
	LEA	ESP,DWORD [-12+EBP]
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L344:
	MOV	EAX,DWORD [-92+EBP]
	MOV	ECX,DWORD [-104+EBP]
	AND	EAX,112
	OR	DWORD [-56+EBP],EAX
	MOV	EAX,DWORD [-48+EBP]
	ADD	EAX,DWORD [-52+EBP]
	PUSH	DWORD [-116+EBP]
	PUSH	DWORD [-52+EBP]
	PUSH	DWORD [-56+EBP]
	LEA	EAX,DWORD [8252+ECX+EAX*4]
	PUSH	EAX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget1
	ADD	ESP,20
	MOV	DWORD [-52+EBP],EAX
	JMP	L281
L349:
	SAL	EDX,10
	MOV	EAX,DWORD [-100+EBP]
	ADD	EAX,796
	MOV	ECX,DWORD [-104+EBP]
	PUSH	EAX
	PUSH	1
	LEA	EAX,DWORD [8256+EDX+ECX*1]
	PUSH	DWORD [-92+EBP]
	PUSH	EAX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget1
	MOV	EDX,DWORD [20+EBP]
	ADD	ESP,20
	MOV	BYTE [EDX],AL
	JMP	L279
L273:
	MOV	ECX,DWORD [-100+EBP]
	MOV	EAX,DWORD [-64+EBP]
	SAL	EAX,4
	PUSH	DWORD [1104+ECX]
	ADD	EAX,DWORD [-104+EBP]
	PUSH	0
	PUSH	113
	MOV	DWORD [-124+EBP],EAX
	ADD	EAX,3584
	PUSH	EAX
	PUSH	ECX
	OR	DWORD [-60+EBP],1
	CALL	_tek_rdget1
	ADD	ESP,20
	CMP	EAX,DWORD [-80+EBP]
	JE	L287
	PUSH	DWORD [-80+EBP]
	MOV	EAX,DWORD [-20+EBP]
	PUSH	DWORD [-88+EBP]
	MOV	DWORD [-16+EBP],EAX
	PUSH	0
	MOV	EAX,DWORD [-24+EBP]
	MOV	DWORD [-20+EBP],EAX
	MOV	EAX,DWORD [-28+EBP]
	PUSH	DWORD [-100+EBP]
	MOV	DWORD [-24+EBP],EAX
	CALL	_tek_getlen5
	MOV	DWORD [-48+EBP],EAX
	MOV	DWORD [-52+EBP],EAX
	ADD	ESP,16
	XOR	EAX,EAX
	CMP	DWORD [-64+EBP],6
	SETG	AL
	CMP	DWORD [-48+EBP],3
	LEA	EAX,DWORD [7+EAX+EAX*2]
	MOV	DWORD [-64+EBP],EAX
	JLE	L290
	MOV	DWORD [-52+EBP],3
L290:
	XOR	EAX,EAX
	MOV	EDX,DWORD [-100+EBP]
	CMP	DWORD [-52+EBP],3
	SETE	AL
	SAL	DWORD [-52+EBP],8
	PUSH	DWORD [1084+EDX+EAX*4]
	MOV	ECX,DWORD [-104+EBP]
	MOV	EDX,DWORD [-52+EBP]
	PUSH	1
	PUSH	118
	LEA	EAX,DWORD [5840+EDX+ECX*1]
	PUSH	EAX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget1
	MOV	ECX,EAX
	ADD	ESP,20
	AND	ECX,63
	MOV	DWORD [-52+EBP],ECX
	MOV	DWORD [-28+EBP],ECX
	CMP	ECX,3
	JLE	L295
	MOV	EDX,ECX
	MOV	EBX,EAX
	SAR	EDX,1
	AND	EBX,1
	MOV	EAX,EBX
	LEA	ECX,DWORD [-1+EDX]
	OR	EAX,2
	SAL	EAX,CL
	MOV	DWORD [-56+EBP],ECX
	MOV	DWORD [-28+EBP],EAX
	CMP	DWORD [-52+EBP],13
	JLE	L350
	CMP	DWORD [-80+EBP],0
	JNE	L302
	SUB	EDX,7
	MOV	DWORD [-56+EBP],EDX
	JE	L303
	PUSH	-1
	PUSH	EDX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget0
	SAL	EAX,6
	ADD	ESP,12
	OR	DWORD [-28+EBP],EAX
L303:
	MOV	EAX,DWORD [-100+EBP]
	PUSH	6
	PUSH	DWORD [1100+EAX]
	PUSH	1
	MOV	EAX,DWORD [-104+EBP]
	PUSH	118
	ADD	EAX,6864
	PUSH	EAX
L348:
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget1
	ADD	ESP,20
	PUSH	EAX
	CALL	_tek_revbit
	POP	ECX
	OR	DWORD [-28+EBP],EAX
	POP	EBX
L295:
	NOT	DWORD [-28+EBP]
L310:
	MOV	EDX,DWORD [-68+EBP]
	ADD	DWORD [-48+EBP],2
	ADD	EDX,DWORD [-28+EBP]
	JS	L213
	MOV	EAX,DWORD [-68+EBP]
	ADD	EAX,DWORD [-48+EBP]
	CMP	EAX,DWORD [16+EBP]
	JLE	L321
	MOV	ECX,DWORD [16+EBP]
	SUB	ECX,DWORD [-68+EBP]
	MOV	DWORD [-48+EBP],ECX
L321:
	MOV	EAX,DWORD [-48+EBP]
	ADD	DWORD [-68+EBP],EAX
L322:
	MOV	EDX,DWORD [20+EBP]
	MOV	EAX,DWORD [-28+EBP]
	MOV	AL,BYTE [EAX+EDX*1]
	MOV	BYTE [EDX],AL
	INC	EDX
	DEC	DWORD [-48+EBP]
	MOV	DWORD [20+EBP],EDX
	JNE	L322
	JMP	L270
L213:
	MOV	EAX,1
	JMP	L204
L302:
	PUSH	-1
	LEA	EAX,DWORD [-5+EDX]
	PUSH	EAX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget0
	SAL	EAX,4
	MOV	EDX,DWORD [-100+EBP]
	PUSH	4
	OR	DWORD [-28+EBP],EAX
	MOV	EAX,DWORD [-104+EBP]
	ADD	EAX,6864
	PUSH	DWORD [1100+EDX]
	PUSH	1
	PUSH	116
	PUSH	EAX
	PUSH	EDX
	CALL	_tek_rdget1
	ADD	ESP,20
	PUSH	EAX
	CALL	_tek_revbit
	OR	DWORD [-28+EBP],EAX
	ADD	ESP,20
	JMP	L295
L350:
	XOR	EAX,EAX
	MOV	EDX,DWORD [-100+EBP]
	CMP	ECX,4
	PUSH	ECX
	SETGE	AL
	IMUL	EBX,EBX,248
	PUSH	DWORD [1092+EDX+EAX*4]
	MOV	EAX,ECX
	PUSH	1
	OR	EAX,112
	MOV	EDX,DWORD [-104+EBP]
	PUSH	EAX
	MOV	CL,BYTE [-56+EBP]
	MOV	EAX,4
	ADD	EDX,EBX
	SAL	EAX,CL
	LEA	EDX,DWORD [7112+EAX+EDX*1]
	PUSH	EDX
	JMP	L348
L287:
	MOV	ECX,DWORD [-100+EBP]
	MOV	EAX,DWORD [-124+EBP]
	ADD	EAX,3588
	PUSH	DWORD [1104+ECX]
	PUSH	0
	PUSH	113
	PUSH	EAX
	PUSH	ECX
	CALL	_tek_rdget1
	ADD	ESP,20
	CMP	EAX,DWORD [-80+EBP]
	JE	L306
	MOV	EAX,DWORD [-100+EBP]
	MOV	DWORD [-48+EBP],-1
	PUSH	DWORD [1104+EAX]
	PUSH	0
	MOV	EAX,DWORD [-112+EBP]
	PUSH	113
	ADD	EAX,4
	PUSH	EAX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget1
	ADD	ESP,20
	TEST	EAX,EAX
	JNE	L311
	XOR	EAX,EAX
	CMP	DWORD [-64+EBP],6
	SETG	AL
	LEA	EAX,DWORD [9+EAX+EAX*1]
L346:
	MOV	DWORD [-64+EBP],EAX
	JMP	L310
L311:
	PUSH	DWORD [-80+EBP]
	PUSH	DWORD [-88+EBP]
	PUSH	1
	PUSH	DWORD [-100+EBP]
	CALL	_tek_getlen5
	MOV	DWORD [-48+EBP],EAX
	ADD	ESP,16
	XOR	EAX,EAX
	CMP	DWORD [-64+EBP],6
	SETG	AL
	LEA	EAX,DWORD [8+EAX+EAX*2]
	JMP	L346
L306:
	MOV	EDX,DWORD [-100+EBP]
	MOV	EAX,DWORD [-124+EBP]
	ADD	EAX,3592
	PUSH	DWORD [1104+EDX]
	PUSH	0
	PUSH	113
	PUSH	EAX
	PUSH	EDX
	CALL	_tek_rdget1
	ADD	ESP,20
	CMP	EAX,DWORD [-80+EBP]
	JE	L312
	MOV	ECX,DWORD [-24+EBP]
	MOV	DWORD [-48+EBP],ECX
L313:
	MOV	EAX,DWORD [-28+EBP]
	MOV	DWORD [-24+EBP],EAX
	MOV	EAX,DWORD [-48+EBP]
	MOV	DWORD [-28+EBP],EAX
	JMP	L311
L312:
	MOV	EAX,DWORD [-100+EBP]
	PUSH	DWORD [1104+EAX]
	PUSH	0
	MOV	EAX,DWORD [-124+EBP]
	PUSH	113
	ADD	EAX,3596
	PUSH	EAX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget1
	ADD	ESP,20
	CMP	EAX,DWORD [-80+EBP]
	JE	L314
	MOV	EDX,DWORD [-20+EBP]
	MOV	DWORD [-48+EBP],EDX
L315:
	MOV	EAX,DWORD [-24+EBP]
	MOV	DWORD [-20+EBP],EAX
	JMP	L313
L314:
	CMP	DWORD [-80+EBP],0
	JE	L351
L316:
	MOV	ECX,DWORD [-16+EBP]
	MOV	EAX,DWORD [-20+EBP]
	MOV	DWORD [-48+EBP],ECX
	MOV	DWORD [-16+EBP],EAX
	JMP	L315
L351:
	MOV	EAX,DWORD [-100+EBP]
	ADD	EAX,732
	PUSH	EAX
	MOV	EAX,DWORD [-104+EBP]
	PUSH	0
	ADD	EAX,7864
	PUSH	113
	PUSH	EAX
	PUSH	DWORD [-100+EBP]
	CALL	_tek_rdget1
	ADD	ESP,20
	TEST	EAX,EAX
	JNE	L316
	JMP	L213
L226:
	MOV	EAX,DWORD [-100+EBP]
	MOV	BYTE [60+EAX],5
	MOV	BYTE [61+EAX],3
	MOV	BYTE [92+EAX],9
	MOV	BYTE [93+EAX],2
	MOV	DWORD [12+EAX],-1
	TEST	DWORD [36+EBP],64
	JE	L238
	MOV	BYTE [124+EAX],0
	MOV	BYTE [125+EAX],1
	MOV	EDX,DWORD [-104+EBP]
	MOV	DWORD [8252+EDX],65535
L238:
	MOV	ECX,DWORD [-100+EBP]
	MOV	BYTE [732+ECX],0
	MOV	BYTE [733+ECX],1
	MOV	EAX,DWORD [-104+EBP]
	CMP	DWORD [36+EBP],-2
	MOV	DWORD [7864+EAX],65535
	JE	L352
	MOV	DWORD [-48+EBP],0
L250:
	MOV	ECX,DWORD [-48+EBP]
	MOV	AL,BYTE [_pt2.5+ECX]
	MOV	BYTE [-44+EBP+ECX*1],AL
	INC	ECX
	MOV	DWORD [-48+EBP],ECX
	CMP	ECX,13
	JLE	L250
	MOV	ECX,DWORD [36+EBP]
	MOV	AL,9
	MOV	DWORD [-92+EBP],7
	AND	ECX,3
	SAR	DWORD [-92+EBP],CL
	SAL	DWORD [-92+EBP],4
	OR	DWORD [-92+EBP],8
	TEST	DWORD [36+EBP],4
	SETE	DL
	SUB	AL,DL
	TEST	DWORD [36+EBP],8
	MOV	BYTE [-43+EBP],AL
	MOV	AL,13
	SETE	DL
	SUB	AL,DL
	TEST	DWORD [36+EBP],16
	MOV	BYTE [-39+EBP],AL
	MOV	AL,17
	SETE	DL
	SUB	AL,DL
	TEST	DWORD [36+EBP],32
	MOV	BYTE [-35+EBP],AL
	MOV	AL,19
	SETE	DL
	SUB	AL,DL
	MOV	BYTE [-33+EBP],AL
L245:
	MOV	DWORD [-48+EBP],0
L263:
	MOV	EDX,DWORD [-48+EBP]
	MOV	ECX,DWORD [-100+EBP]
	MOVZX	EAX,BYTE [-44+EBP+EDX*1]
	SAL	EAX,5
	LEA	EAX,DWORD [28+EAX+ECX*1]
	MOV	DWORD [1052+ECX+EDX*4],EAX
	INC	EDX
	MOV	DWORD [-48+EBP],EDX
	CMP	EDX,13
	JLE	L263
	JMP	L237
L352:
	MOV	DWORD [752+ECX],0
	MOV	DWORD [-48+EBP],0
L244:
	MOV	EDX,DWORD [-48+EBP]
	MOV	AL,BYTE [_pt1.4+EDX]
	MOV	BYTE [-44+EBP+EDX*1],AL
	INC	EDX
	MOV	DWORD [-48+EBP],EDX
	CMP	EDX,13
	JLE	L244
	JMP	L245
L211:
	ADD	EBP,12
	MOV	EAX,1
	JMP	L212
_tek_decode5:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EDI
	PUSH	ESI
	XOR	EDI,EDI
	MOV	EAX,DWORD [12+EBP]
	PUSH	EBX
	MOV	EBX,EAX
	ADD	EAX,16
	MOV	DWORD [12+EBP],EAX
	ADD	EBX,DWORD [8+EBP]
	LEA	EAX,DWORD [12+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7s
	POP	ECX
	MOV	ESI,EAX
	TEST	EAX,EAX
	JLE	L354
	LEA	EAX,DWORD [12+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7s
	POP	EDX
	TEST	EAX,1
	JE	L363
	MOV	ECX,EAX
	MOV	EDX,1
	SAR	ECX,1
	AND	ECX,15
	ADD	ECX,8
	SAL	EDX,CL
	MOV	ECX,1
	TEST	EAX,32
	JNE	L353
	CMP	EDX,256
	JE	L361
	MOV	ECX,1
	CMP	ESI,EDX
	JG	L353
	AND	EAX,64
	JNE	L364
L361:
	PUSH	DWORD [16+EBP]
	PUSH	ESI
	SUB	EBX,DWORD [12+EBP]
	PUSH	DWORD [12+EBP]
	PUSH	EBX
L362:
	CALL	_tek_lzrestore_tek5
	ADD	ESP,16
	MOV	EDI,EAX
L354:
	MOV	ECX,EDI
L353:
	LEA	ESP,DWORD [-12+EBP]
	MOV	EAX,ECX
	POP	EBX
	POP	ESI
	POP	EDI
	POP	EBP
	RET
L364:
	LEA	EAX,DWORD [12+EBP]
	PUSH	EAX
	CALL	_tek_getnum_s7s
	POP	EDI
	JMP	L361
L363:
	MOV	EAX,DWORD [12+EBP]
	PUSH	DWORD [16+EBP]
	SUB	EBX,EAX
	PUSH	ESI
	LEA	EDX,DWORD [-1+EAX]
	PUSH	EDX
	LEA	EAX,DWORD [1+EBX]
	PUSH	EAX
	JMP	L362
